Image compression and decompression are used in a wide range of applications including video conferencing systems, video phones, and motion picture transmission. The conventional approach in these applications has been to use dedicated hardware for video coding, i.e., image compression and decompression. The use of dedicated hardware, typically digital signal processors (DSPs), is required because the video coding process is computationally expensive and slow on general-purpose hardware. As a result, widespread use of these applications has been stymied by the costs associated with deploying the specialized hardware required to achieve good performance. It has been predicted, however, that these applications, in particular video conferencing, will become desktop commodities in the next few years. Improvements to the video coder and the video coding process are necessary to make this prediction a reality.
A diagram illustrating a video coding process in accordance with International Telecommunication Union (ITU) standard H.263, hereinafter referred to as the ITU H.263 standard, for video coding and encoding at very low bit-rates, such as at 28K bits per second, is shown in FIG. 1.
The video encoder shown in FIG. 1 includes a color transform module 12, a motion detector module 14, a motion compensation module 16, a transform module 18, a quantization module 20, and a coding module 22. Also included is a feedback module 24 which includes an inverse quantization module 30, an inverse transformation module 28, and a frame reconstruction module 26.
A video decoder, as shown in FIG. 2, performs the reverse process of the video coder and includes a bit-stream decoding module 40, the inverse quantization module 30, the inverse transform module 28, an inverse motion compensation module 42, and the frame reconstruction module 26.
In the video coding process, motion compensation performed by the motion compensation module 16 is the most time consuming phase. The transformation and quantization phases, performed by the transformation module 18 and the quantization module 20, respectively, are also expensive phases to perform.
However, with processor speeds doubling every two years, it is possible for software-only solutions to attain good performance and quality and to lower the costs associated with applications which require video processing enough make image processing a commodity item in desktop computing environments.
To overcome the computational requirements of the various stages, the video processing applications in prior art systems employ dedicated DSPs to make the various computationally expensive stages execute faster. Use of dedicated hardware is a weakness of current video conferencing systems. Designing new hardware as the video coding standards change and evolve is expensive, time-consuming and substantially increases the cost of delivered systems. Not only do the high costs associated with dedicated hardware present a barrier against image processing applications becoming a desktop commodity solutions, but they also go against the latest trend in hardware/software solution to use open systems.
Thus, what is needed is a method and system to overcome the limitations and weaknesses of current video processing application implementations. In particular, what is needed is a method and system for video encoding which is computationally more efficient than those of the prior art and which are amenable to implementation using low-cost general-purpose DSPs or software-only solutions.